﻿using System.Collections.Generic;
using ShopB2C.Entity;

namespace ShopB2C.Interfaces {
    /// <summary>
    /// 帮助接口
    /// </summary>
    public interface IHelp {

        #region Types

        /// <summary>
        /// 添加新的帮助类型
        /// </summary>
        /// <param name="hte">HelpTypeEntity</param>
        void HelpTypeAppend(HelpTypeEntity hte);
        /// <summary>
        /// 修改帮助类型
        /// </summary>
        /// <param name="hte">HelpTypeEntity</param>
        void HelpTypeUpdate(HelpTypeEntity hte);
        /// <summary>
        /// 删除帮助类型
        /// </summary>
        /// <param name="typesId">帮助类型 id</param>
        void HelpTypeDelete(int typesId);
        /// <summary>
        /// 获取指定 id 的帮助类型
        /// </summary>
        /// <param name="typesId">帮助类型 id</param>
        /// <returns>HelpTypeEntity</returns>
        HelpTypeEntity GetHelpTypeById(int typesId);
        /// <summary>
        /// 获取帮助类型列表
        /// </summary>
        /// <param name="pageSize">每页显示记录数</param>
        /// <param name="pageIndex">当前页号</param>
        /// <param name="pageSize">接收返回的总页数</param>
        /// <returns>List</returns>
        List<HelpTypeEntity> GetHelpTypeList(int pageSize, int pageIndex, out int pageCount);
        /// <summary>
        /// 批量更新帮助类型排序
        /// </summary>
        /// <param name="typesIds">帮助类型 id 集</param>
        /// <param name="sequences">排序集</param>
        void HelpTypeBatchUpdateSequence(string typesIds, string sequences);

        #endregion

        #region Sections

        /// <summary>
        /// 添加新的帮助栏目
        /// </summary>
        /// <param name="hse">HelpSectionEntity</param>
        void HelpSectionAppend(HelpSectionEntity hse);
        /// <summary>
        /// 修改帮助栏目
        /// </summary>
        /// <param name="hse">HelpSectionEntity</param>
        void HelpSectionUpdate(HelpSectionEntity hse);
        /// <summary>
        /// 删除帮助栏目
        /// </summary>
        /// <param name="sectionIds">帮助栏目 id 字符串，“,”分隔</param>
        void HelpSectionDelete(string sectionIds);
        /// <summary>
        /// 获取指定 id 的帮助栏目
        /// </summary>
        /// <param name="sectionId">帮助栏目 id</param>
        /// <returns>HelpSectionEntity</returns>
        HelpSectionEntity GetHelpSectionById(int sectionId);
        /// <summary>
        /// 获取帮助栏目列表
        /// </summary>
        /// <param name="typesId">帮助类型 ID</param>
        /// <param name="pageSize">每页显示记录数</param>
        /// <param name="pageIndex">当前页号</param>
        /// <param name="pageSize">接收返回的总页数</param>
        /// <returns>List</returns>
        List<HelpSectionEntity> GetHelpSectionList(int typesId,int pageSize, int pageIndex, out int pageCount);
        /// <summary>
        /// 批量更新帮助栏目排序
        /// </summary>
        /// <param name="sectionIds">帮助栏目 id 集</param>
        /// <param name="sequences">排序集</param>
        void HelpSectionBatchUpdateSequence(string sectionIds, string sequences);
        /// <summary>
        /// 获取帮助栏目列表
        /// </summary>
        /// <param name="sectionIds">帮助栏目 id 集</param>
        /// <returns>List</returns>
        List<HelpSectionEntity> GetHelpSectionList(string sectionIds);

        #endregion
    }
}
